﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using ElectronicCommerce.Framework.Payment.Contract.DataContract.Common;

namespace ElectronicCommerce.Framework.Payment.Contract.DataContract
{

    /// <summary>
    /// 退款结果
    /// </summary>
    [Serializable]
    [DataContract]
    public class RefundResult : PaymentResult
    {
        public RefundResult()
        {
            this.OutSOID = "";
            this.RefundAmount = 0;
            this.CurrencyCode = CurrencyCode.CNY;
            this.ResultType = RefundResultType.Success;
            this.ResultMessage = "";
        }

        /// <summary>
        /// 网关支付流水号
        /// </summary>
        [DataMember]
        public string OutSOID { get; set; }

        /// <summary>
        /// 实际退款金额
        /// </summary>
        [DataMember]
        public decimal RefundAmount { get; set; }

        /// <summary>
        /// 币种
        /// </summary>
        [DataMember]
        public CurrencyCode CurrencyCode { get; set; }

        /// <summary>
        /// 回调结果类型
        /// </summary>
        [DataMember]
        public RefundResultType ResultType { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [DataMember]
        public string ResultMessage { get; set; }
    }
}
